package br.edu.faculdadeprojecao.conversores;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.persistence.EntityManager;

import org.hibernate.type.IntegerType;

import br.edu.faculdadeprojecao.DAO.ProfessorDAO;
import br.edu.faculdadeprojecao.DAO.TipoFormacaoDAO;
import br.edu.faculdadeprojecao.infra.JPAUtil;
import br.edu.faculdadeprojecao.modelo.Professor;
import br.edu.faculdadeprojecao.modelo.TipoFormacao;

/**
 * Classe responsavel por converter um objeto do tipo professor para String.
 * 
 * @author v0rtex
 *
 */
@FacesConverter (value="tipoFormacaoConverter")
public class TipoFormacaoConverter implements Converter {

	
	@Override
	public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
		
		
		TipoFormacaoDAO dao = new TipoFormacaoDAO();
		
		TipoFormacao tipoFormacao = dao.buscaPorID(Integer.parseInt(string));
		System.out.println("Converter "+tipoFormacao.getDescricao());
		return tipoFormacao;
	}

	/**
	 * Converte um object do tipo professor para String.
	 */
	@Override
	public String getAsString(FacesContext fc, UIComponent uic, Object o) {
		TipoFormacao tipoFormacao = new TipoFormacao();
		tipoFormacao = (TipoFormacao)o;
		
		if (o == null || o.equals("")) {
			return "";
		}else {
			System.out.println("Converter ob "+tipoFormacao.getDescricao());
			return tipoFormacao.getId().toString();
		}
		
		
	}

}
